En el notebook anterior, entre otras cosas, hicieron su módulo para desarrollar la aritmética de intervalos, incluyendo además algunas pruebas. El módulo permite hacer las operaciones básicas de intervalos, incluyendo las potencias. Además, vimos que la manera en que uno opera los intervalos influye en la respuesta. Importante es notar que lo que se ha hecho hasta el momento sirve para funciones racionales de la forma $f(x) = p(x) / q(x)$, donde $p(x)$ y $q(x)$ son polinomios en $x$.
El propósito de este notebook es extender lo ya hecho a las funciones estándares, que son $\exp(x)$ $\log(x)$, las funciones trigonométricas ($\sin(x)$, $\cos(x)$, $\tan(x)$, etc.), sus inversas ($\arcsin(x)$, etc), y las hiperbólicas ($\sinh(x)$, etc). Combinaciones utilizando las operaciones aritméticas que involucran las funciones estándares (y los polinomios) es lo que constituye a las funciones elementales.
Si $f(x)$ es una función elemental monótona, su extensión a intervalos intuitivamente es: $F([a,b]) = [F(a),F(b)]$.
Para las funciones monótonas estándares, el intervalo $F([a,b])$ que define la extensión de $f(x)$ al intervalo $[a,b]$ es lo que se llama la extensión natural a intervalos, ya que corresponde a una cota estrecha del rango de $f(x)$ para $x\in [a,b]$, que denotaremos $R(f; [a,b])$.
[1] Amplía tu módulo de intervalos para que incluya la extensión de las funciones estándres monótonas a intervalos. En el caso de las potencias, extiénde lo que ya hayas hecho para que incluya potencias reales. Incluye algunas pruebas en pruebas.jl
que muestren que lo que has hecho funciona bien.
[2] ¿Cómo definirías la extensión a intervalos para funciones no monótonas? Repite [1] para este caso.
[3] La extensión natural del intervalo para $f(x)=x/(1+x^2)$ es $F(\mathbf{x})=\mathbf{x}/(1+\mathbf{x}^2)$. ¿Cuál es la extensión natural del intervalo para $\mathbf{x}=[1,2]$? ¿Cómo se compara con el rango $R(f; [1,2])$. Ilustra los resultados con una gráfica.
El Teorema Fundamental del Análisis de Intervalos afirma que dada una función elemental $f(x)$ y una extensión natural a intervalos $F$, tal que $F(\mathbf{x})$ está bien definida para algún intervalo $\mathbf{x}$, entonces:
Si $\mathbf{z} \subseteq \mathbf{z'} \subseteq \mathbf{x} \Longrightarrow F(\mathbf{z}) \subseteq F(\mathbf{z'}),\quad$ "inclusión isotónica" (inclusion isotonicity)
$R(f;\mathbf{x}) \subseteq F(\mathbf{x}),\quad$ "acotamiento del rango" (range enclosure)
La segunda propiedad afirma que la extensión natural $F(\mathbf{x})$ contiene al rango, lo que entonces acota el rango de $f(x)$ con $F(\mathbf{x})$.
De aquí, dado que si $y\notin F(\mathbf{x}) \Longrightarrow y\notin R(f;\mathbf{x})$, entonces podemos usar este resultado cuando se buscan las raíces de alguna función $f(x)$ en un intervalo: Si $ 0 \notin F(\mathbf{x})$ entonces $f(x)$ no tiene raíces en $\mathbf{x}$.
[4] Demuestra que $f(x) = (\sin(x)-x^2+1)\cos(x)$ no tiene raíces en $\mathbf{x}=[0,1/2]$. Ilustra que el argumento es correcto gráficamente.
Ya hemos llegado al punto de poder resolver el siguiente problema:
Dada una función $f(x)$ y un intervalo $X$, encuentra las raíces de $f$ dentro de $X$.
[5] Escribe un código quer utiliza la propiedad de los ceros para encontrar los intervalos donde podría haber un cero.
[6] Extiende tu código para utilizar la derivada $f'$, dada a mano, para demostrar (cuando se puede) que el cero es único en el intervalo.
[7] Utiliza la diferenciación automática del notebook 6 para que no tengas que especificar la derivada a mano.